package com.youlu.campus.entity.VO;

import com.youlu.campus.entity.ActivityJobInfo;
import com.youlu.campus.entity.EnterpriseInfo;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.Indexed;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * 工作详情VO
 */
@Getter
@Setter
public class JobInfoDetailVO implements Serializable {
    /**
     * 用户ID
     */
    private String userId;
    /**
     * 企业信息
     */
    @Indexed
    private EnterpriseInfo enterpriseInfo;

    /**
     * 工作名称
     */
    private String name;
    /**
     * 工作类型,0:兼职;1:实习;2:全职
     */
    @Indexed
    private String type;
    /**
     * 岗位类型,待定
     */
    private Integer jobType;
    /**
     * 状态,0:未开始,1:进行中,2:已完成
     */
    private Integer status;

    /**
     * 工作封面
     */
    private String imageUrl;

    /**
     * 工作详情
     */
    private String detail;

    /**
     * 工作规则
     */
    private String rule;

    /**
     * 配置的参与人数
     */
    private Integer configParticipants;

    /**
     * 结算类型,0:小时结算,1:日结算,2:月结,3:年结
     */
    private Integer balanceType;
    /**
     * 费用,单位分
     */
    private Integer fee;
    /**
     * 费用字符串,3000元/月
     */
    private String feeStr;
    /**
     * 工作日
     */
    private String workingDay;
    /**
     * 工作时间
     */
    private String workingTime;
    /**
     * 工作地点
     */
    private String workingAddress;
    /**
     * 工作要求
     */
    private String workingRe;
    /**
     * 岗位详情
     */
    private String jobDetail;
    /**
     * 时长,单位是小时,获得证书就累计
     */
    private Integer duration;
    /**
     * 是否报名,默认否,非持久化数据
     */
    @Transient
    private Boolean joined = Boolean.FALSE;
    /**
     * 标签
     */
    private List<String> tags = new ArrayList<String>();
    /**
     * 是否收藏
     */
    private Boolean myFavorities = Boolean.FALSE;
    /**
     * 分享次数
     */
    private Integer shareNum;

    /**
     * 相关推荐
     */
    private List<ActivityJobInfo> correlateRecommend = new ArrayList<ActivityJobInfo>();

}
